9.2.1. Dizi Üzerinde Yığın Uygulama Örneği Aşağıda verilen programda bir örnek verilmiştir. Yığına atılacak verilerin tamsayı ve tutulduğu dizi değişkeninin global olduğu varsayılmıştır. Bu nedenle koy(), al() ve temizle() fonksiyonlarına yığının tutulduğu dizi bilgisi gönderilmemiştir. Eğer yığın işaretçisi yi, yığının toplam kapasitesini gösteren N 'den büyük veya eşitse yığın doludur; tersi durumda yi=0 ise yığın boş olarak değerlendirilir. Yukarıdaki fonksiyonlardan koy()'da görüleceği gibi ekleme yi ile işaret edilen göze yapılmakta ve yi'nin değeri bir sonraki gözü gösterecek biçimde arttırılmaktadır. al() fonksiyonda da önce yığın işaretçisi bir önceki gözü gösterecek
biçimde azaltılmakta ve önceki gözün içeriği gönderilmektedir. temizle()
fonksiyonu ile amaç yığının gözlerini boşaltıp başlangıç durumuna
getirmektir; burada yığındaki eski değerler olduğu gibi bırakılıp yalnızca
yığın işaretçisine boş duruma karşılık düşen ilk gözün indisi 0
atanmıştır. Gerekiyorsa bir döngü kurularak yığın gözlerine belirli bir
değer ataması yapılabilir.
|